package com.meeting.order.service;

import com.meeting.order.domain.Meeting;
import com.meeting.order.dto.RoomStatusDTO;

import java.time.LocalDateTime;
import java.util.List;

public interface MeetingService {
    /**
     * 添加会议预订记录
     * @param meeting 会议信息
     * @return 添加成功的会议信息
     */
    Meeting addBooking(Meeting meeting);
    /**
     * 删除会议预订记录
     * @param id 会议ID
     * @return 删除成功
     */
    int deleteBooking(int id);

    /**
     * 更新会议预订记录
     * @param meeting 会议信息
     */
    void updateBooking(Meeting meeting);

    /**
     * 按条件查询会议预订记录
     * @return 会议信息
     */
    Meeting findBookingByCondition(String bookerName, String roomName, LocalDateTime startDate, LocalDateTime endDate);
    
    /**
     * 查询会议室在指定时间段的状态
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 会议室状态列表
     */
    List<RoomStatusDTO> getRoomStatusByTime(LocalDateTime startTime, LocalDateTime endTime);
}